#pragma once
#include "pch.h"
#include "Common.h"
namespace AutomatedSurfaceReconstruction
{
	class CScaleSpaceMeshReconstruction {
	public:
		CScaleSpaceMeshReconstruction(const CGALPointSetType& vPointCloud) :m_PointCloud(vPointCloud) {};
		~CScaleSpaceMeshReconstruction() = default;

		CGALMeshType reconstrcut();
		const auto getScaleSpaceDepth() const { return m_ScaleSpaceDepth; }
		void setScaleSpaceDepth(const std::size_t vScaleSpaceDepth) { m_ScaleSpaceDepth = vScaleSpaceDepth; }
		const auto getMaxFacetLength()const { return m_MaxFacetLength; }
		void setMaxFacetLength(const std::size_t vMaxFacetLength) { m_MaxFacetLength = vMaxFacetLength; }
	private:
		CGALPointSetType m_PointCloud;
		std::size_t m_ScaleSpaceDepth = 1;
		std::size_t m_MaxFacetLength = 1000;
	};
}

